# 进程 多进程计算密集型
# 每个进程都是独立的内存空间
# 进程与进程之间默认是无法直接交互的
from multiprocessing import Process
import time


# 方式一 进程对象
def task(name):
    print(f'{name} is running')
    time.sleep(3)
    print(f'{name} is over')


# windows操作系统下，创建进程必须再main内创建
# if __name__ == '__main__':
#     # 创建对象
#     p = Process(target=task, args=('jack',))
#     # 告诉操作系统给你创建一个进程 异步
#     p.start()
#     print('主程序运行')


# 方式二 类继承
class MyProcess(Process):
    def run(self): # run会自动在子进程中运行
        print('running......')
        time.sleep(3)
        print('time out')


if __name__ == '__main__':
    p = MyProcess()
    p.start()
    print('主程序运行')
